﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using DsLib;

namespace DNF.WCF.Service
{
    // Define a service contract.
    [ServiceContract(Namespace = "http://DNF.WCF.Service")]
    public interface IBSTService<T> where T : IComparable<T> //: ICollection<T>
    {
        [OperationContract]
        void Add(T toAdd);
        [OperationContract]
        bool Contains(T toSearch);
        [OperationContract]
        bool Remove(T toRemove);
        [OperationContract]
        string GetTraversePath(TreeTraversalType type);
        [OperationContract]
        void PrintTraversePath(TreeTraversalType type);
        [OperationContract]
        void PrintValueStatusInBST(T toSearch);
    }
}
